/**
 * @param {string} s
 * @return {string[]}
 */
 var permutation = function(s) {
    arr = s.split('').map(item=>({value:item,used:false}));
    let res = new Set();
    function dfs(index,str){
        // index 字符位置
        if(index>=arr.length){
            res.add(str);
        }
        for(let i = 0;i<arr.length;i++){
            // 取用字符
            if(!arr[i].used){
                arr[i].used = true;
                dfs(index+1,str+arr[i].value);
                arr[i].used =false;
            }
        }   
    }
    dfs(0,'')
    return Array.from(res);
};